package com.gnerv.battle.boot.project.guard.service;

import com.gnerv.battle.boot.project.guard.model.bo.MonitorDatasourceBO;
import com.gnerv.battle.boot.project.guard.model.dto.MonitorDatasourceDTO;
import lombok.NonNull;

import java.util.List;

/**
 * @author Gnerv LiGen
 */
public interface MonitorDatasourceService {

    boolean create(@NonNull MonitorDatasourceBO monitorDatasourceBO);

    boolean deleteByUkId(@NonNull String ukId);

    boolean updateByUkId(@NonNull MonitorDatasourceBO monitorDatasourceBO);

    MonitorDatasourceDTO selectByUkId(@NonNull String ukId);

    List<MonitorDatasourceDTO> listByName(String name, Integer page, Integer size);

    boolean testConnection(@NonNull MonitorDatasourceBO monitorDatasourceBO);
}
